<?php
/**
* Copyright 2009 Waag Society <http://www.waag.org>
* This file is part of Annotrax.
*
* Annotrax is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License,
* or (at your option) any later version.
*
* Annotrax is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Annotrax.
* If not, see http://www.gnu.org/licenses/gpl.html
*/
class Default_Model_SettingMapper extends At_Model_Mapper{
    protected $tableName = 'setting';

    public function save( Default_Model_Setting $setting ){
		//At_Debug::log( $setting );

		$insert = array();

		$insert['value'] = serialize( $setting->value );
		$insert['name'] = $setting->name;

        if( null === $setting->id ){
            //$insert['updated'] = new Zend_Db_Expr('NOW()');

            $this->getTable()->insert( $insert );

            $setting->id = $this->getTable()
                        ->getAdapter()
                        ->lastInsertId()
            ;
        }
        else{
            $this->getTable()
                ->update( $insert, array( 'id = ?' => $setting->id ) );
        }

        return $setting;
    }
}
